# 使用官方 OpenJDK 镜像
FROM openjdk:17
# 设置维护者
LABEL maintainer="15218758857@163.com"
LABEL version="1.0"
LABEL description="Spring Boot Application Docker Image"
# 创建应用目录
RUN mkdir -p /app
# 设置工作目录
WORKDIR /app
# 复制 jar 文件
COPY target/demo-*.jar app.jar
# 设置 JVM 参数
ENV JAVA_OPTS="-Xmx512m"
ENV SPRING_PROFILES_ACTIVE=docker
# 暴露端口
EXPOSE 8089
# 优化 JVM 启动
RUN sh -c 'touch app.jar'

# 设置时区（可选）
ENV TZ=Asia/Shanghai
RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone

# 健康检查
HEALTHCHECK --interval=30s --timeout=10s --start-period=60s --retries=3 \
    CMD wget --no-verbose --tries=1 --spider http://localhost:8089 || exit 1

# 运行应用
ENTRYPOINT [ "sh", "-c", "java $JAVA_OPTS -Djava.security.egd=file:/dev/./urandom -jar app.jar" ]
